package yl.hs.bmipfull.pojo.production;

import lombok.Data;
import lombok.EqualsAndHashCode;
import yl.hs.bmipfull.annotations.DBField;
import yl.hs.bmipfull.annotations.DBTable;
import yl.hs.bmipfull.pojo.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/*
 * BrickShipOrderModel
 * @category
 * @author 谢景广
 * @date 2022-12-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
@DBTable(disName = "成品砖发货单完整信息",mapCode = "view_brick_ship_order")
public class BrickShipOrderModel extends BaseEntity {
    private Long id;
    @DBField(isSerialNumber = true,disName = "明细编号",mapCode = "sn",snPrefix = "ZFHMX")
    private String sn;
    @DBField(disName = "发货单号",mapCode = "orderSN")
    private String orderSN;
    private String productCateSN;
    private String productSN;
    @DBField(disName = "产品名称",mapCode = "productName")
    private String productName;
    @DBField(disName = "产品规格",mapCode = "productSpec")
    private String productSpec;
    @DBField(disName = "产品类别",mapCode = "productCate")
    private String productCate;
    @DBField(disName = "发货数量",mapCode = "quantity")
    private BigDecimal quantity = BigDecimal.ZERO;
    @DBField(disName = "发货方量",mapCode = "volume")
    private BigDecimal volume = BigDecimal.ZERO;
    @DBField(disName = "签收人",mapCode = "signer")
    private String signer;
    @DBField(disName = "签收时间",mapCode = "signingTime")
    private Date signingTime;
    @DBField(disName = "签收数量",mapCode = "signedQuantity")
    private BigDecimal signedQuantity = BigDecimal.ZERO;
    @DBField(disName = "签收方量",mapCode = "signedVolume")
    private BigDecimal signedVolume = BigDecimal.ZERO;
    @DBField(disName = "签收方式",mapCode = "signWay")
    private String signWay;
    private String signPhotoPath;
    @DBField(disName = "审核时间",mapCode = "shipmentReviewTime")
    private Date shipmentReviewTime;
    @DBField(disName = "审核方量",mapCode = "shipmentReviewVolume")
    private BigDecimal shipmentReviewVolume;
    @DBField(disName = "审核数量",mapCode = "shipmentReviewQuantity")
    private BigDecimal shipmentReviewQuantity;
    @DBField(disName = "审核数量",mapCode = "shipmentReviewPrice")
    private BigDecimal shipmentReviewPrice;
    @DBField(disName = "审核金额",mapCode = "shipmentReviewAmount")
    private BigDecimal shipmentReviewAmount;
    private String shipmentReviewUserSN;
    @DBField(disName = "审核用户",mapCode = "shipmentReviewUserName")
    private String shipmentReviewUserName;
    @DBField(disName = "审核状态",mapCode = "shipmentReviewFlag")
    private String shipmentReviewFlag;
    @DBField(disName = "审核备注",mapCode = "shipmentReviewRemark")
    private String shipmentReviewRemark;
    @DBField(disName = "退回数量",mapCode = "quantityReturned")
    private BigDecimal quantityReturned;
    @DBField(disName = "退回方量",mapCode = "volumeReturned")
    private BigDecimal volumeReturned;
    @DBField(disName = "签收备注",mapCode = "signRemark")
    private String signRemark;
    private String signSVG;
    @DBField(disName = "开票产品名称",mapCode = "billProductName")
    private String billProductName;
    @DBField(disName = "开票产品规格",mapCode = "billProductSpec")
    private String billProductSpec;
    private String billProductSN;
    @DBField(disName = "结算产品名称",mapCode = "accountProductName")
    private String accountProductName;
    @DBField(disName = "结算产品规格",mapCode = "accountProductSpec")
    private String accountProductSpec;
    private String accountProductSN;
    @DBField(disName = "开票",mapCode = "invoicingState")
    private short invoicingState;
    private short state;
    private short detailState;
    private String contractSN;
    private String customerSN;
    private String projectSN;
    @DBField(disName = "客户名称",mapCode = "customerName")
    private String customerName;
    @DBField(disName = "发货时间",mapCode = "outTime")
    private Date outTime;
    @DBField(disName = "回厂时间",mapCode = "backTime")
    private Date backTime;
    @DBField(disName = "车牌号",mapCode = "truckPlate")
    private String truckPlate;
    private String handleSN;
    @DBField(disName = "过磅员",mapCode = "handleName")
    private String handleName;
    @DBField(disName = "联系人",mapCode = "linkerName")
    private String linkerName;
    @DBField(disName = "联系电话",mapCode = "linkerPhone")
    private String linkerPhone;
    @DBField(disName = "销售员",mapCode = "salerName")
    private String salerName;
    @DBField(disName = "销售电话",mapCode = "salerPhone")
    private String salerPhone;
    private String driverSN;
    @DBField(disName = "司机姓名",mapCode = "driverName")
    private String driverName;
    @DBField(disName = "打印标题",mapCode = "printTitle")
    private String printTitle;
    @DBField(disName = "发货备注",mapCode = "remark")
    private String remark;
    @DBField(disName = "价格",mapCode = "price")
    private BigDecimal price = BigDecimal.ZERO;
    @DBField(disName = "仓库名称",mapCode = "warehouseName")
    private String warehouseName;
    @DBField(disName = "仓库编号",mapCode = "warehouseSN")
    private String warehouseSN;
    private int countCars;

    private BigDecimal countVolume;

    private BigDecimal countQuantity;

    private BigDecimal countShipmentReviewVolume;

    private BigDecimal countShipmentReviewQuantity;
    @DBField(disName = "提成单价",mapCode = "commissionPrice")
    private BigDecimal commissionPrice;
    @DBField(disName = "提成金额",mapCode = "commissionMoney")
    private BigDecimal commissionMoney;
}
